home *** CD-ROM | disk | FTP | other *** search
- /* thread.c */
- #include <cthreads.h>
- #include <sys/param.h>
-
- #define BUFFER_SIZE 100
- #define BUFFER_WIDTH MAXPATHLEN
-
- typedef struct __buffer {
- struct mutex lock;
- int start,end;
- int count;
- struct condition not_empty, not_full;
- char buf[BUFFER_SIZE][BUFFER_WIDTH];
- } buffer_t;
-
-
- #ifdef THREAD
- void buffer_put(char *ch, buffer_t *buffer);
- void buffer_get(buffer_t *buffer,char *ch);
- void consumer(buffer_t *buffer);
- #else
- extern void buffer_put(char *ch, buffer_t *buffer);
- extern void buffer_get(buffer_t *buffer,char *ch);
- extern void consumer(buffer_t *buffer);
- #endif
-